home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 / Ham Radio 2000.iso / ham2000 / antenna / rhom112 / rhom.bas < prev    next >
BASIC Source File  |  1996-03-26  |  9KB  |  222 lines

  1.  
  2. 11 PRINT CHR$(12): PRINT "Welcome to  RHOMBIC UTILITY": PRINT
  3. 12 PRINT "non-graphics version for mda/herc/cga, equivalent to version 1.02": PRINT
  4. 29 REM
  5. 30 PRINT "What is the proposed height above ground of the antenna, in"
  6. 31 PRINT "wavelengths";
  7. 60 INPUT h
  8. 65 IF h < .26 THEN GOTO 95
  9.  
  10. 70 R = ATN((1 / (4 * h)) / (SQR(1 - (1 / (4 * h)) ^ 2)))
  11. 80 T = R * 57.29577958#
  12. 85 PRINT
  13. 89 PRINT "The min. possible wave angle based on height above ground in degrees: "
  14. 90 PRINT USING "##.##"; T
  15. 92 PRINT : GOTO 101
  16.  
  17. 95 PRINT : PRINT "The minimum possible wave angle based on height above ground: "
  18. 97 PRINT " > 75 degrees": PRINT
  19.  
  20. 101 PRINT "What is the desired wave angle (usually 0 degrees for vhf)?"
  21. 102 PRINT "Choose one of the following (in degrees):  0  5  10  15  20  25  30"
  22. 105 INPUT W
  23.  
  24. 135 IF W = 0 THEN 200
  25. 140 IF W = 5 THEN 250
  26. 145 IF W = 10 THEN 300
  27. 150 IF W = 15 THEN 350
  28. 155 IF W = 20 THEN 400
  29. 160 IF W = 25 THEN 450
  30. 165 IF W = 30 THEN 500
  31. 170 PRINT "error": PRINT
  32. 175 GOTO 102
  33.  
  34. 176 PRINT : PRINT "To print this page, hit <PrtSc>.  To continue, hit .<cr>"
  35. 177 PRINT "(a period followed by a carriage return)."
  36. 178 INPUT py$
  37. 179 IF py$ = "." THEN GOTO 200
  38. 180 PRINT "error!": GOTO 178
  39.  
  40. 200 PRINT "No optimum leg length is specified in the Handbook charts."
  41. 201 PRINT "Enter proposed leg length in wavelengths"
  42. 202 PRINT "1.0 - 1.5 - 2.0 - 2.5 - 3.0 - 3.5 - 4.0 - 4.5 - 5.0 - 5.5 - 6.0"
  43. 203 INPUT L
  44. 205 IF L = 1! THEN TA = 34.5: GOTO 550
  45. 206 IF L = 1.5 THEN TA = 45: GOTO 550
  46. 207 IF L = 2! THEN TA = 51: GOTO 550
  47. 208 IF L = 2.5 THEN TA = 56: GOTO 550
  48. 209 IF L = 3! THEN TA = 58: GOTO 550
  49. 210 IF L = 3.5 THEN TA = 61: GOTO 550
  50. 211 IF L = 4! THEN TA = 63: GOTO 550
  51. 212 IF L = 4.5 THEN TA = 64.5: GOTO 550
  52. 213 IF L = 5! THEN TA = 66: GOTO 550
  53. 214 IF L = 5.5 THEN TA = 66.5: GOTO 550
  54. 215 IF L = 6! THEN TA = 67.5: GOTO 550
  55. 220 PRINT "error": GOTO 200
  56. 250 PRINT "No optimum leg length is specified in the Handbook charts."
  57. 251 PRINT "Enter proposed length in wavelengths"
  58. 252 PRINT "1.0 - 1.5 - 2.0 - 2.5 - 3.0 - 3.5 - 4.0 - 4.5 - 5.0 - 5.5 - 6.0"
  59. 253 INPUT L
  60. 255 IF L = 1! THEN TA = 34.5: GOTO 550
  61. 256 IF L = 1.5 THEN TA = 45: GOTO 550
  62. 257 IF L = 2! THEN TA = 52: GOTO 550
  63. 258 IF L = 2.5 THEN TA = 56: GOTO 550
  64. 259 IF L = 3! THEN TA = 59: GOTO 550
  65. 260 IF L = 3.5 THEN TA = 62: GOTO 550
  66. 261 IF L = 4! THEN TA = 63.5: GOTO 550
  67. 262 IF L = 4.5 THEN TA = 65: GOTO 550
  68. 263 IF L = 5! THEN TA = 66.5: GOTO 550
  69. 264 IF L = 5.5 THEN TA = 67.5: GOTO 550
  70. 265 IF L = 6! THEN TA = 68.5: GOTO 550
  71. 270 PRINT "error": GOTO 250
  72. 300 PRINT "No optimum leg length is specified in the Handbook charts."
  73. 301 PRINT "Enter proposed leg length in wavelengths"
  74. 302 PRINT "1.0 - 1.5 - 2.0 - 2.5 - 3.0 - 3.5 - 4.0 - 4.5 - 5.0 - 5.5 - 6.0"
  75. 303 INPUT L
  76. 305 IF L = 1! THEN TA = 36: GOTO 550
  77. 306 IF L = 1.5 THEN TA = 45.5: GOTO 550
  78. 307 IF L = 2! THEN TA = 52.5: GOTO 550
  79. 308 IF L = 2.5 THEN TA = 56.5: GOTO 550
  80. 309 IF L = 3! THEN TA = 60: GOTO 550
  81. 310 IF L = 3.5 THEN TA = 62.5: GOTO 550
  82. 311 IF L = 4! THEN TA = 64.5: GOTO 550
  83. 312 IF L = 4.5 THEN TA = 66.5: GOTO 550
  84. 313 IF L = 5! THEN TA = 67.5: GOTO 550
  85. 314 IF L = 5.5 THEN TA = 69: GOTO 550
  86. 315 IF L = 6! THEN TA = 70: GOTO 550
  87. 320 PRINT "error": GOTO 300
  88. 350 PRINT "No optimum leg length is specified in the Handbook charts."
  89. 351 PRINT "Enter proposed leg length in wavelengths"
  90. 352 PRINT "1.0 - 1.5 - 2.0 - 2.5 - 3.0 - 3.5 - 4.0 - 4.5 - 5.0 - 5.5 - 6.0"
  91. 353 INPUT L
  92. 355 IF L = 1! THEN TA = 37: GOTO 550
  93. 356 IF L = 1.5 THEN TA = 47: GOTO 550
  94. 357 IF L = 2! THEN TA = 53.5: GOTO 550
  95. 358 IF L = 2.5 THEN TA = 58: GOTO 550
  96. 359 IF L = 3! THEN TA = 61.5: GOTO 550
  97. 360 IF L = 3.5 THEN TA = 64.5: GOTO 550
  98. 361 IF L = 4! THEN TA = 66.5: GOTO 550
  99. 362 IF L = 4.5 THEN TA = 68: GOTO 550
  100. 363 IF L = 5! THEN TA = 69.5: GOTO 550
  101. 364 IF L = 5.5 THEN TA = 71.5: GOTO 550
  102. 365 IF L = 6! THEN TA = 72: GOTO 550
  103. 370 PRINT "error": GOTO 350
  104. 400 PRINT "Optimum leg length is 4.25 wavelengths."
  105. 401 PRINT "Enter proposed length in wavelengths"
  106. 402 PRINT "1.0 - 1.5 - 2.0 - 2.5 - 3.0 - 3.5 - 4.0 - 4.25"
  107. 403 INPUT L
  108. 405 IF L = 1! THEN TA = 37.5: GOTO 550
  109. 406 IF L = 1.5 THEN TA = 48: GOTO 550
  110. 407 IF L = 2! THEN TA = 55: GOTO 550
  111. 408 IF L = 2.5 THEN TA = 60: GOTO 550
  112. 409 IF L = 3! THEN TA = 63.5: GOTO 550
  113. 410 IF L = 3.5 THEN TA = 66.5: GOTO 550
  114. 411 IF L = 4! THEN TA = 68.5: GOTO 550
  115. 412 IF L = 4.25 THEN TA = 70: GOTO 550
  116. 420 PRINT "error": GOTO 400
  117. 450 PRINT "Optimum leg length is 2.75 wavelengths."
  118. 451 PRINT "Enter proposed leg length in wavelengths"
  119. 452 PRINT "1.0 - 1.5 - 2.0 - 2.5 - 2.75"
  120. 453 INPUT L
  121. 455 IF L = 1! THEN TA = 39: GOTO 550
  122. 456 IF L = 1.5 THEN TA = 50: GOTO 550
  123. 457 IF L = 2! THEN TA = 57: GOTO 550
  124. 458 IF L = 2.5 THEN TA = 62: GOTO 550
  125. 459 IF L = 2.75 THEN TA = 65: GOTO 550
  126. 470 PRINT "error": GOTO 450
  127. 500 PRINT "Optimum leg length is 2.0 wavelengths."
  128. 501 PRINT "Enter proposed leg length in wavelengths"
  129. 502 PRINT "1.0 - 1.5 - 2.0"
  130. 503 INPUT L
  131. 505 IF L = 1! THEN TA = 40: GOTO 550
  132. 506 IF L = 1.5 THEN TA = 52: GOTO 550
  133. 507 IF L = 2! THEN TA = 60: GOTO 550
  134. 520 PRINT "error": GOTO 500
  135.  
  136. 550 PRINT "to print this page, hit <PrtSc>; to continue, hit .<cr>"
  137. 555 INPUT py$
  138. 560 IF py$ = "." THEN GOTO 600
  139. 565 PRINT "error!": GOTO 550
  140.  
  141. 600 PRINT CHR$(12): PRINT : PRINT "Do you wish to 'optimize' the leglength?": PRINT
  142. 612 PRINT "An 'optimized leglength' means a leglength which will"
  143. 613 PRINT "cause the antenna to have the greatest output it possibly"
  144. 614 PRINT "can at the desired wave angle.  If your antenna is for vhf/"
  145. 615 PRINT "uhf, you should select 'y' now, to optimize.  A non-optimized"
  146. 616 PRINT "rhombic will have the greatest output it possibly can at the"
  147. 617 PRINT "desired wave angle, BUT may have even greater output at"
  148. 618 PRINT "some other wave angle.  See page 7-10 (7-dash-10) in the "
  149. 619 PRINT "1984 edition of the ARRL Antenna Handbook:  alignment of lobes.": PRINT
  150. 620 PRINT "And remember, if you are asking for a zero-degree wave angle"
  151. 621 PRINT "(usually necessary for vhf/uhf), you can only APPROACH zero deg.;"
  152. 622 PRINT "for example, if the antenna is 4 wavelengths above ground,"
  153. 623 PRINT "the wave angle will be about 3.5 degrees, and at 5 wavelengths"
  154. 624 PRINT "above ground it will be about 2.8 degrees, even if you want zero"
  155. 625 PRINT "degrees.": PRINT
  156. 626 PRINT "First, print this screen by hitting <PrtSc>, and to continue"
  157. 627 PRINT "hit a .<cr>": PRINT
  158. 628 INPUT py$
  159. 629 IF py$ = "." THEN GOTO 635
  160. 630 PRINT "error!": GOTO 626
  161.  
  162. 635 PRINT CHR$(12): PRINT
  163. 636 PRINT "Type 'y' to optimize (mostly for vhf/uhf), or"
  164. 637 PRINT "Type 'n' to not optimize (adequate for most hf)"
  165. 638 INPUT OP$
  166. 640 IF OP$ = "y" THEN L1 = (L * .74): GOTO 646
  167. 642 IF OP$ = "n" THEN L1 = L: GOTO 646
  168. 644 PRINT "error!": GOTO 636
  169.  
  170. 646 PRINT CHR$(12): PRINT "Tilt angle           = "; TA; "deg."
  171. 650 PRINT "Proposed leg length  = "; L; " wavelengths"
  172. 652 PRINT "Actual leg length to be used = "; L1; " wavelengths"
  173. 654 PRINT : PRINT "now enter freq in MHz:"
  174. 656 INPUT FR
  175. 658 L2 = (984 * (L1 - .025) / (FR * 3.28))
  176. 660 PRINT : PRINT "***Optimized leg length = "; L2; " meters"
  177. 661 A1 = (180 - (90 + TA))
  178. 663 PRINT : PRINT "Half-angle at feedpoint = "; A1; " degrees"
  179. 665 Q = SIN(A1 / (180 / 3.14159265#))
  180. 670 Q1 = (L2 * Q)
  181. 675 PRINT : PRINT "half-width              = "; Q1; " meters"
  182. 677 Q2 = (2 * Q1)
  183. 680 PRINT : PRINT "Width                   = "; Q2; " meters"
  184. 686 PRINT : PRINT "Min. poss. wave angle   = "; T; " deg. at a hgt of "; h; " wavelengths"
  185. 687 PRINT "(your desired wave angle was"; W; "deg.)"
  186. 688 H1 = (984 * (h - .025) / (FR * 3.28))
  187. 689 PRINT h; " wavelengths is "; H1; " meters up."
  188. 695 PRINT : PRINT "Now hit <PrtSc> to print the above info; hit .<cr> to continue"
  189. 697 INPUT py$
  190. 698 IF py$ = "." THEN GOTO 705
  191. 699 PRINT "error!": GOTO 695
  192.  
  193. 705 PRINT CHR$(12): PRINT : PRINT "Do you want xyz coordinates for the 4 'points' of the rhombic, for"
  194. 706 PRINT "typing into Elnec? (y/n)"
  195. 707 INPUT c$
  196. 708 IF c$ = "n" OR c$ = "N" THEN GOTO 857
  197. 709 IF c$ = "y" OR c$ = "Y" THEN GOTO 750 ELSE PRINT "Error.": GOTO 705
  198. 745 REM
  199. 746 REM
  200. 750 X = Q1 / TAN(A1 / (180 / 3.14159265#))
  201. 751 Y = Q1
  202. 752 Z = H1
  203. 753 X1 = (2 * X)
  204. 754 REM
  205.  
  206. 756 PRINT CHR$(12)
  207. 760 PRINT "                                     B"
  208. 765 PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT "          A                                                     C"
  209. 770 PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT "                                     D"
  210. 850 PRINT : PRINT "A = feedpoint =    0,       0,"; Z; "   B = "; X; ","; Y; ","; Z
  211. 855 PRINT "C = termination ="; X1; ",0,"; Z; "   D = "; X; ","; -Y; ","; Z
  212. 856 PRINT "above xyz coordinates in meters of course."
  213. 857 PRINT "Thanks for using RHOMBIC UTILITY!  Send DETAILED comments"
  214. 858 PRINT "and suggestions to:  Orrin C. Winton WN1Z, PO Box 89, Big Sur CA 93920."
  215. 859 PRINT "Internet (4/1/96): orrin@redshift.com"
  216.  
  217. 860 PRINT "Hit <PrtSc> to save this page.  Hit ' .<cr>' to end!"
  218. 865 INPUT PF$: IF PF$ = "." THEN GOTO 999
  219. 867 PRINT "error!": GOTO 860
  220. 999 END
  221.  
  222.